package mylab.starters.mybatis.support.foreignKey;

import mylab.base.model.entity.Entity;

import java.lang.annotation.*;

/**
 * 标记外键字段
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface ForeignKey {
    /**
     * 该字段对应的主表实体类型
     *
     * @return 主表实体类型，限制派生自 {@link Entity}
     */
    Class<? extends Entity> value();

    /**
     * 主表的主键字段
     *
     * @return 主键字段
     */
    String PK() default "id";
}
